package com.csesteel.crm.service;

import com.csesteel.crm.domain.CrmRole;
import com.csesteel.crm.domain.User;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2015/5/20 0020.
 */
public interface CrmRoleService {

    /**
     * 根据id 获取角色
     * @param id
     * @return
     */
    CrmRole getCrmRole(Integer id);

    /**
     * 保存角色
     * @param crmRole
     */
    void saveCrmRole(CrmRole crmRole);

    /**
     * 删除角色
     * @param id
     */
    void deleteCrmRole(Integer id);

    /**
     * 修改角色
     * @param
     */
    void updateCrmRole(CrmRole crmRole);
    /**
     * 查询所有角色
     * @return
     */
    List<CrmRole> findAllCrmRole();

    /**
     * 根据用户ID查询角色
     * @param id
     * @return
     */
    Map findAllRoleByUserId(Integer id);

    /**
     * 查询所有角色
     * @return
     */
    List<CrmRole> findAllCrmRoleByPage(int pageNo, int pageSize, String name);

    /**
     * 查询所有总数
     * @return
     */
    long findCount(String name);

    /**
     * 查询所有总数
     * @return
     */
    CrmRole getCrmRoleByCode(String roleCode);;

    /**
     * 保存角色对应的权限
     * @param priviledgeId
     * @param roleId
     */
    public void savePriviledgeByRole(Integer priviledgeId, Integer roleId);

    /**
     * 根据角色ID删除对应的权限
     * @param roleId
     */
    public void deletePriviledgeByRole(Integer roleId);
}
